

/*----------------------------------------------------------------------------
 * Name:    Timer_1234.h
 * Purpose: Configuration de timers.
 *
 * Version: V1.2
 * Auteurs: P. ACCO (INSA - Toulouse,France)
 *          S. DI MERCURIO (INSA - Toulouse,France)
 *----------------------------------------------------------------------------
 * Ce programme fait partie des pilotes pour STM32 de l'INSA de Toulouse, France.
 * Merci de consulter le fichier LICENCE.txt au sujet des conditions de redistribution,
 * modification et copyright concernant ce pilote. Le fichier LICENCE.txt doit faire partie
 * des fichiers fournis avec ce pilote.
 *
 * Copyright (c) 2012, INSA-GEI Toulouse, France.
 * Tout droits réservés.
 *---------------------------------------------------------------------------*/

#ifndef _TIMER_1234_H
#define _TIMER_1234_H

#include "stm32f10x.h"


/**
* Configure les Timers 1, 2, 3 et 4
* @param Timer Pointeur vers le jeu de registres (de type
TIM_TypeDef
) du
* timer considéré
* @param Duree_us Intervalle de temps exprimé en μs entre
* deux débordements successifs
* @return Le durée véritable qui a été configurée
**/
float Timer_1234_Init(TIM_TypeDef *Timer, float Duree_us ) ;


/**
* Configure la routine d'interruption d'un Timer
* @param Timer Pointeur vers le jeu de registres (de type TIM_TypeDef ) du timer considéré
* @param Priority Niveau de priorité de l'interruption
* @param IT_function Pointeur sur la fonction qui sera exécutée dans le routine d'interruption
**/

void Timer_Active_IT( TIM_TypeDef *Timer, u8 Priority, void (*IT_function) (void) );


// PWM (basee sur un des Timers 1, 2, 3, 4 ---------------------------------
// la periode doit etre donnee en periodes d'horloge CPU (typiquement 72 MHz)
// la fonction rend la pleine echelle ou resolution, c'est a dire la plage
// de valeurs acceptees pour moduler la largeur d'impulsion
float PWM_Init_Output_Compare(TIM_TypeDef *Timer, char Voie, float frequence);

 

// PWM (basee sur un des Timers 1, 2, 3, 4 ---------------------------------
// la voie sur laquelle sera actionnée la PWM
void PWM_Init_Input_Capture (TIM_TypeDef *Timer, float frequence) ;

 

// PWM (basee sur un des Timers 1, 2, 3, 4 ---------------------------------
// le rapport cyclique en donne en pourcentage
void Set_Duty_Cycle(TIM_TypeDef *Timer, char Voie, float pourcentage);

 

 

#endif /* _TIMER_1234_H */

 
 
